// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

import 'package:flutter/foundation.dart';

//  Sign in form fields keys

const keyUsernameSignInFormField = Key('usernameSignInFormField');
const keyPasswordSignInFormField = Key('passwordSignInFormField');

// Sign up form fields keys

const keyUsernameSignUpFormField = Key('usernameSignUpFormField');
const keyPasswordSignUpFormField = Key('passwordSignUpFormField');
const keyPasswordConfirmationSignUpFormField = Key(
  'keyPasswordConfirmationSignUpFormField',
);
const keyAddressSignUpFormField = Key('addresslSignUpFormField');
const keyBirthdateSignUpFormField = Key('birthdateSignUpFormField');
const keyEmailSignUpFormField = Key('emailSignUpFormField');
const keyFamilyNameSignUpFormField = Key('familyNameSignUpFormField');
const keyGenderSignUpFormField = Key('genderSignUpFormField');
const keyGivenNameSignUpFormField = Key('givenNameSignUpFormField');
const keyLocaleSignUpFormField = Key('localeSignUpFormField');
const keyMiddleNameSignUpFormField = Key('middleNameSignUpFormField');
const keyNameSignUpFormField = Key('nameSignUpFormField');
const keyNicknameSignUpFormField = Key('nicknameSignUpFormField');
const keyPhoneNumberSignUpFormField = Key('phoneNumberSignUpFormField');
const keyPictureSignUpFormField = Key('pictureSignUpFormField');
const keyPreferredUsernameSignUpFormField = Key(
  'preferredUsernameSignUpFormField',
);
const keyProfileSignUpFormField = Key('profileSignUpFormField');
const keySelectedUsernameSignUpFormField = Key(
  'selectedUsernameSignUpFormField',
);
const keyZoneinfoSignUpFormField = Key('zoneinfoSignUpFormField');
const keyUpdatedAtSignUpFormField = Key('updatedAtSignUpFormField');
const keyWebsiteSignUpFormField = Key('websiteSignUpFormField');
const keyCustomSignUpFormField = Key('customSignUpFormField');

// Confirm sign up form fields keys

const keyUsernameConfirmSignUpFormField = Key('usernameConfirmSignUpFormField');
const keyPasswordConfirmSignUpFormField = Key('passwordConfirmSignUpFormField');
const keyEmailConfirmSignUpFormField = Key('emailConfirmSignUpFormField');
const keyPhoneNumberConfirmSignUpFormField = Key(
  'phoneNumberConfirmSignUpFormField',
);
const keyCodeConfirmSignUpFormField = Key('codeConfirmSignUpFormField');

//Confirm Sign In form field keys

const keyCodeConfirmSignInFormField = Key('codeConfirmSignInFormField');
const keyCustomChallengeConfirmSignInFormField = Key(
  'customChallengeConfirmSignInFormField',
);
const keyMfaMethodRadioConfirmSignInFormField = Key(
  'mfaMethodRadioConfirmSignInFormField',
);
const keyMfaSetupMethodRadioConfirmSignInFormField = Key(
  'mfaSetupMethodRadioConfirmSignInFormField',
);
const keyUsernameConfirmSignInFormField = Key('usernameConfirmSignInFormField');
const keyPasswordConfirmSignInFormField = Key('passwordConfirmSignInFormField');
const keyNewPasswordConfirmSignInFormField = Key(
  'newPasswordConfirmSignInFormField',
);
const keyConfirmNewPasswordConfirmSignInFormField = Key(
  'confirmNewPasswordConfirmSignInFormField',
);
const keyAddressConfirmSignInFormField = Key('addresslConfirmSignInFormField');
const keyBirthdateConfirmSignInFormField = Key(
  'birthdateConfirmSignInFormField',
);
const keyEmailConfirmSignInFormField = Key('emailConfirmSignInFormField');
const keyFamilyNameConfirmSignInFormField = Key(
  'familyNameConfirmSignInFormField',
);
const keyGenderConfirmSignInFormField = Key('genderConfirmSignInFormField');
const keyGivenNameConfirmSignInFormField = Key(
  'givenNameConfirmSignInFormField',
);
const keyLocaleConfirmSignInFormField = Key('localeConfirmSignInFormField');
const keyMiddleNameConfirmSignInFormField = Key(
  'middleNameConfirmSignInFormField',
);
const keyNameConfirmSignInFormField = Key('nameConfirmSignInFormField');
const keyNicknameConfirmSignInFormField = Key('nicknameConfirmSignInFormField');
const keyPhoneNumberConfirmSignInFormField = Key(
  'phoneNumberConfirmSignInFormField',
);
const keyPictureConfirmSignInFormField = Key('pictureConfirmSignInFormField');
const keyPreferredUsernameConfirmSignInFormField = Key(
  'preferredUsernameConfirmSignInFormField',
);
const keyProfileConfirmSignInFormField = Key('profileConfirmSignInFormField');
const keyZoneinfoConfirmSignInFormField = Key('zoneinfoConfirmSignInFormField');
const keyUpdatedAtConfirmSignInFormField = Key(
  'updatedAtConfirmSignInFormField',
);
const keyWebsiteConfirmSignInFormField = Key('websiteConfirmSignInFormField');
const keyCustomConfirmSignInFormField = Key('customConfirmSignInFormField');

// Reset Password form field keys
const keyPasswordResetPasswordFormField = Key('passwordResetPasswordFormField');
const keyPasswordConfirmationResetPasswordFormField = Key(
  'passwordConfirmationResetPasswordFormField',
);
const keyVerificationCodeResetPasswordFormField = Key(
  'verificationCodeResetPasswordFormField',
);

// Attribute Verification keys
const keyVerifyUserRadioButtonFormField = Key('verifyUserRadioButtonFormField');
const keyVerifyUserConfirmationCode = Key('verifyUserConfirmationCode');

// Buttons keys

const keySignUpButton = Key('signUpButton');
const keySignInButton = Key('signInButton');
const keyConfirmSignUpButton = Key('confirmSignUpButton');
const keySignOutButton = Key('signOutButton');
const keyBackToSignInButton = Key('backToSignInButton');
const keyGoToSignUpButton = Key('goToSignUpButton');
const keyGoToSignInButton = Key('goToSignInButton');
const keyConfirmSignInButton = Key('confirmSignInButton');
const keyConfirmSignInMfaSelectionButton = Key(
  'confirmSignInMfaSelectionButton',
);
const keyConfirmSignInMfaSetupSelectionButton = Key(
  'confirmSignInMfaSetupSelectionButton',
);
const keyConfirmSignInWithEmailMfaSetupButton = Key(
  'confirmSignInWithEmailMfaSetupButton',
);
const keyConfirmSignInCustomButton = Key('confirmSignInCustomButton');
const keyLostCodeButton = Key('lostCodeButton');
const keySendCodeButton = Key('sendCodeButton');
const keyForgotPasswordButton = Key('forgotPasswordButton');
const keySkipVerifyUserButton = Key('skipVerifyUserButton');
const keySubmitVerifyUserButton = Key('submitVerifyUserButton');
const keySubmitConfirmVerifyUserButton = Key('submitConfirmVerifyUserButton');
const keyEmailUsernameToggleButton = Key('emailUsernameToggleButton');
const keyPhoneUsernameToggleButton = Key('phoneUsernameToggleButton');

// Checkboxes keys

const keyRememberDeviceCheckbox = Key('rememberDeviceCheckbox');

// Phone Keys

const keySelectCountryCode = Key('selectCountryCode');
const keyCountryDialog = Key('countryDialog');
const keyCountrySearchField = Key('countrySearchField');

// Inherited keys

const keyInheritedAuthenticatorState = Key('inheritedAuthenticatorState');
const keyInheritedAuthBloc = Key('inheritedAuthBloc');

// Banner Keys

const keyAuthenticatorBanner = Key('authenticatorBanner');

// Totp setup form keys
const keyQrCodeTotpSetupFormField = Key('qrCodeTotpSetupFormField');
const keyCopyKeyTotpSetupFormField = Key('copyKeyTotpSetupFormField');
const keyTotpSetupFormField = Key('totpSetupFormField');

// Email setup form keys
const keyEmailSetupFormField = Key('emailSetupFormField');
